#include <stdio.h>
#include <unistd.h>
#include <sys/types.h>

int main()
{
    /* 
    while(1)
    {
        // getpid() -- 获得当前进程的id
        // getppod() -- 获得当前进程的父进程的id
        printf("我是一个进程!我的ID是:%d, 我的父进程的ID是:%d\n", getpid(), getppid());
        sleep(1);// 休眠一秒
    }
    */

    // fork -- 创建子进程
    pid_t id = fork();
    // printf("getpid:[%d], fork:[%d]\n", getpid(), id);
    
    if(id == 0)
    {
        // 子进程
        while(1)
        {
             printf("我是子进程，pid:%d，ppid:%d\n", getpid(), getppid());
             sleep(1);
        } 
    }
    else if(id > 0)
    {
        // 父进程
        while(2)
        {
            printf("我是父进程，pid:%d，ppid:%d\n", getpid(), getppid());
            sleep(2);
        }
    }
    else
    {
        // error
        perror("fork");
        return 1;
    }

    return 0;
}
